client based state management